Ownership Types for Object Synchronisation
نویسندگان
چکیده
Shared-memory concurrent programming is difficult and error prone because memory accesses by concurrent threads need to be coordinated through synchronisation, which relies on programmer discipline and suffers from a lack of modularity and compile-time support. This paper exploits object structures, provided by ownership types, to enable a structured synchronisation scheme which guarantees safety and allows more concurrency within structured tasks.
منابع مشابه
Universes for Race Safety
Race conditions occur when two incorrectly synchronised threads simultaneously access the same object. Static type systems have been suggested to prevent them. Typically, they use annotations to determine the relationship between an object and its “guard” (another object), and to guarantee that the guard has been locked before the object is accessed. The object-guard relationship thus forms a t...
متن کاملAnalysis of synchronisation patterns in stateful active objects
This paper presents a static analysis technique based on effect and behavioural types for deriving synchronisation patterns of stateful active objects and verifying their safety – e.g. absence of deadlocks. This is challenging because active objects use futures to refer to results of pending asynchronous invocations and because these futures can be stored in object fields, passed as method para...
متن کاملOwnership Types: A Survey
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to object-oriented programming languages. Rather than simply protecting the fields of an object from external access, ownership types protect also the objects stored in the fields, thereby enabling an object to claim (exclusive) ownership of and access to other objects. Furthermore, this notion is static...
متن کاملSafe Runtime Downcasts With Ownership Types
The possibility of aliasing between objects constitutes one of the primary challenges in understanding and reasoning about correctness of object-oriented programs. Ownership types provide a principled way of specifying statically enforcable restrictions on object aliasing. Ownership types have been used to aid program understanding and evolution, verify absence of data races and deadlocks in mu...
متن کاملConflict Control Locking in Distributed Cooperative Graphics Editors
The communication latency presents a major challenge to achieving high responsiveness for Internet-based cooperative editing systems. In this paper, we propose conflict control locking (post-locking) schemes for conflict resolution in real-time object-based cooperative graphics editors. With these schemes, no locking request is needed before applying an editing operation to an object, instead, ...
متن کامل